package com.mjf.cjt.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

@Data
@TableName("t_cjtzjb_sale_delivery")
public class TCjtzjbSaleDelivery {
    /**
     * 自增主键ID
     */
    private Long id;

    /**
     * 推送状态 0-未推送 1-已推送
     */
    private Integer pushStatus;

    /**
     * 推送结果
     */
    private String result;

    /**
     * 推送时间
     */
    private LocalDateTime times;

    /**
     * 单据编码；如果设置了自动编号，可不传；如果设置的手动编码，必录
     */
    private String code;

    /**
     * 单据日期；默认系统日期
     */
    private LocalDate voucherDate;

    /**
     * 外部系统单据编码，编码必须唯一，且此字段不为空
     */
    private String externalCode;

    /**
     * 业务类型编码，15–普通销售；16–销售退货
     */
    private String businessTypeCode;

    /**
     * 00--普通发票，01--专用发票，02–收据；为空时，默认按收据处理
     */
    private String invoiceTypeCode;

    /**
     * 客户编码
     */
    private String customerCode;

    /**
     * 结算客户编码
     */
    private String settleCustomerCode;

    /**
     * 收货仓库
     */
    private String warehouseCode;

    /**
     * 仓库编码
     */
    private String receiveWarehouseCode;

    /**
     * 出库类型编码
     */
    private String rdstyleCode;

    /**
     * 是否自动销售出库单，使用这个属性时，需要设置仓库；举例："IsAutoGenerateSaleOut":true
     */
    private Boolean isautoGenerateSaleout;

    /**
     * 部门编码
     */
    private String deptCode;

    /**
     * 业务员编码
     */
    private String clerkCode;

    /**
     * 项目编码
     */
    private String projectCode;

    /**
     * 币种编码
     */
    private String currencyCode;

    /**
     * 汇率，为空时，取系统默认币种汇率
     */
    private BigDecimal exchangeRate;

    /**
     * 交货日期
     */
    private LocalDate deliveryDate;

    /**
     * 整单折扣率
     */
    private BigDecimal discountRate;

    /**
     * 现结金额，如果选择"全额现结"，该字段必录
     */
    private BigDecimal origSettleAmount;

    /**
     * 抹零金额
     */
    private BigDecimal origAllowances;

    /**
     * 是否进行价格跟踪
     */
    private Boolean ispriceTrace;

    /**
     * 是否自动生成发票
     */
    private Boolean isautoGenerateInvoice;

    /**
     * 是否仓库拆单出库
     */
    private Boolean isseparateBywarehouse;

    /**
     * 会员编码
     */
    private String memberCode;

    /**
     * 1、送货地址 2、作为T+系统会员档案的买家的送货地址 3、可空，为空时，会员档案通讯地址不为空时，取会员档案通讯地址
     */
    private String address;

    /**
     * 送货日期
     */
    private LocalDate sendDate;

    /**
     * 送达日期
     */
    private LocalDate throughDate;

    /**
     * 车次
     */
    private String transNumber;

    /**
     * 联系人 会员档案收货联系人不为空时，取会员收货联系人
     */
    private String linkman;

    /**
     * 联系电话
     */
    private String contactPhone;

    /**
     * 客户手机号
     */
    private String customerPhone;

    /**
     * 表头备注
     */
    private String memo;

    /**
     * 运单号
     */
    private String transDocno;

    /**
     * 发货单号
     */
    private String deliveryCode;

    /**
     * 发货日期
     */
    private LocalDate deliveryVoucherdate;

    /**
     * 公用数值自定义项1
     */
    private BigDecimal pubuserdefdecm1;

    /**
     * 公用数值自定义项2
     */
    private BigDecimal pubuserdefdecm2;

    /**
     * 公用数值自定义项3
     */
    private BigDecimal pubuserdefdecm3;

    /**
     * 公用数值自定义项4
     */
    private BigDecimal pubuserdefdecm4;

    /**
     * 公用数值自定义项5
     */
    private BigDecimal pubuserdefdecm5;

    /**
     * 公用字符自定义项1
     */
    private String pubuserdefnvc1;

    /**
     * 公用字符自定义项2
     */
    private String pubuserdefnvc2;

    /**
     * 公用字符自定义项3
     */
    private String pubuserdefnvc3;

    /**
     * 公用字符自定义项4
     */
    private String pubuserdefnvc4;

    /**
     * 公用字符自定义项5
     */
    private String pubuserdefnvc5;

    /**
     * 私有数值自定义项1
     */
    private BigDecimal priuserdefdecm1;

    /**
     * 私有数值自定义项2
     */
    private BigDecimal priuserdefdecm2;

    /**
     * 私有数值自定义项3
     */
    private BigDecimal priuserdefdecm3;

    /**
     * 私有数值自定义项4
     */
    private BigDecimal priuserdefdecm4;

    /**
     * 私有数值自定义项5
     */
    private BigDecimal priuserdefdecm5;

    /**
     * 私有字符自定义项1
     */
    private String priuserdefnvc1;

    /**
     * 私有字符自定义项2
     */
    private String priuserdefnvc2;

    /**
     * 私有字符自定义项3
     */
    private String priuserdefnvc3;

    /**
     * 私有字符自定义项4
     */
    private String priuserdefnvc4;

    /**
     * 私有字符自定义项5
     */
    private String priuserdefnvc5;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    private LocalDateTime pushTime; // 推送时间
    private String pushResult;  // 推送结果
    private String pushId;  // t+ID

    private String pushCode;  // t+单据号
}
